﻿#pragma once
#ifndef _PCH_H_
#define _PCH_H_
#include <string>
#include <Windows.h>
#include <vector>
#include <fstream>
struct DriveInfoW
{
    std::wstring letter;    // 盘符
    DWORD type;             // 硬盘类型
    std::wstring name;      // 硬盘名称
};


bool OpenOrCreateFile(const std::wstring& pathAndFile, std::wofstream& file, std::ios_base::openmode _Mode);

bool CreateDirectories(const std::wstring& path);

std::vector<DriveInfoW> GetDriveInfosW();

std::string WcharToUTF8(const wchar_t* wstr);

std::string WcharToACP(const wchar_t* wstr);

std::string get_current_ip();

uint64_t get_current_utc_timestamp_ms();

std::string calculate_md5(const std::string& file_path);

#endif  // _PCH_H_
